package com.Date2;

import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Scanner;

//打印现在的日历练习
public class Test {
    public static void main(String[] args) {
        //录入日期的字符串
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入你想要查看的日期:（请按照例如2019-3-7的格式）");
        String strDate = sc.next();
        System.out.println(strDate);
        //先将String转换成Calendar
        java.sql.Date date = java.sql.Date.valueOf(strDate);
        Calendar cal = new GregorianCalendar();
        cal.setTime(date);
        //后续操作：
        //星期提示：
        System.out.println("日\t一\t二\t三\t四\t五\t六");
        //获取本月最大的天数：
        int maxDay = cal.getActualMaximum(Calendar.DATE);
        //然后开始遍历：
        //获取计数器的日，然后就可以在相应的日上面标记一个*号
        int nowDay = cal.get(Calendar.DATE);
        //将日期调成本月的1号；
        cal.set(Calendar.DATE,1);
        int beginDayOfWeek = cal.get(Calendar.DAY_OF_WEEK);
        int count = beginDayOfWeek;
        for(int k=0;k<beginDayOfWeek-1;k++){
            System.out.print("\t");
        }
        for(int i = 1;i<=maxDay;i++){
            if(i == nowDay){
                System.out.print(i+"*\t");
            }
            else{
                System.out.print(i+"\t");
            }
            if(count % 7 == 0){
                System.out.println();
            }
            count++;
        }




    }
}
